package com.qf.commons.base.result;

/**
 * 创建R对象的快捷工具方法
 * author Ken
 * create_time 2022/11/12
 */
public class Rs {

    /**
     * 创建一个空的成功对象
     * @return
     */
    public static R create(){
        return create(null);
    }

    /**
     * 创建一个带参数的成功对象
     * @param data
     * @return
     * @param <T>
     */
    public static <T> R<T> create(T data) {
        return new R().setCode(Codes.SUCC.getCode())
                .setMsg(Codes.SUCC.getMsg())
                .setData(data);
    }

    /**
     * 创建一个空的失败对象
     * @return
     */
    public static R createFail(Codes codes){
        return createFail(codes,null);
    }

    /**
     * 创建一个带数据的失败对象
     * @return
     */
    public static <T> R<T> createFail(Codes codes, T data){
        return new R<T>().setCode(codes.getCode())
                .setMsg(codes.getMsg())
                .setData(data);
    }
}
